from selenium import webdriver # 初始化驱动的模块
from selenium.webdriver.chrome.service import Service # 指定驱动的路径
from selenium.webdriver.common.by import By # 操作模块
import time
# 传入驱动的绝对路径（尽量把这个驱动放到项目工程里面）
# service = Service(r"C:\Users\PC\AppData\Local\Programs\Python\Python39\chromedriver.exe")
# 推荐方式：
services = Service("chromedriver.exe")

# 浏览器不会自动关闭的方法（不用背下来！！方便你调试用的，后面也要删）
"""option = webdriver.ChromeOptions() # todo：chrome浏览器配置项
option.add_experimental_option("detach", True)# todo：浏览器不会自动关闭"""

# 初始化driver
driver = webdriver.Chrome(service = services) # ,options=option

# 打开浏览器
driver.get("https://www.baidu.com/") # 输入要打开的地址

#浏览器最大化
driver.maximize_window()

# ==================没变化========================

# 定位方式一：ID，定位到搜索框
# 元素唯一，使用find_element方法
"""
search_input = driver.find_element(By.ID,"kw")
search_input.send_keys("侯雯中")

"""
# 定位方式二：Name，定位到搜索框
# 元素唯一，使用find_element方法
# driver.find_element(By.NAME,"wd").send_keys("侯雯中plus")

# 定位方式三：Xpath，定位到搜索框
# 直接copy的xpath，肯定唯一，使用find_element方法
# driver.find_element(By.XPATH,"//*[@id='kw']").send_keys("侯雯中plus1号")
# 手写xpath：name\class
# driver.find_element(By.XPATH,"//*[@name='wd']").send_keys("侯雯中")
# driver.find_element(By.XPATH,'//*[@class="s_ipt"]').send_keys("侯雯中")
# driver.find_element(By.XPATH,"//*[contains(@id,'kw')] ").send_keys('侯雯中')
# text = driver.find_element(By.LINK_TEXT, '新闻').text # 返回内容是个字符串文本信息
# print(text) # 新闻
# 基于这个概念
# time.sleep(1)
# driver.find_element(By.XPATH,"//*[text()='新闻']").click()


# 定位方式四：CSS selector，定位到搜索框
# driver.find_element(By.CSS_SELECTOR,"#kw").send_keys("侯雯中plus2号")

#定位方式五：CLASS NAME，定位到搜索框
# 元素唯一，使用find_element方法
# driver.find_element(By.CLASS_NAME,"s_ipt").send_keys("李鑫1号")

#定位方式六：tag name，定位到搜索框
# 元素不唯一，使用find_elements方法，第八个，索引位置为7
# driver.find_elements(By.TAG_NAME,"input")[7].send_keys("李鑫2号")

#定位方式七：LINK TEXT定位，超链接文本方式
# 点击定位新闻
# driver.find_element(By.LINK_TEXT,"新闻").click()

#定位方式八：PARTIAL_LINK_TEXT，模糊文本定位
# 定位hao123
# time.sleep(1)
# driver.find_element(By.PARTIAL_LINK_TEXT,'hao123').click()
time.sleep(5)


